package com.gagakuai.engine.runtime;

import java.util.Map;

/*
 * @program: common-starters
 * @description: 流程实列
 * @author: houhong
 * @create: 2023-01-02 14:15
 */
public interface ProcessInstance extends Execution {

    /*
     * 获取流程定义Id
     */
    String getProcessDefinitionId();

    /*
     * 获取到流程定义名
     */
    String getProcessDefinitionName();

    /*
     * 定义key
     */
    String getProcessDefinitionKey();

    /*
     * 当前定义到版本号
     */
    Integer getProcessDefinitionVersion();


    /*
     * 获取到部署Id
     */
    String getDeploymentId();

    /*
     * 流程实列的业务key
     */
    String getBusinessKey();

    /*
     * 当前的流程实列是否挂起
     */
    boolean isSuspended();

    /*
     * 当前流程实列的变量
     */
    Map<String, Object> getProcessVariables();

    /*
     * 租户Id
     */
    @Override
    String getTenantId();

    /*
     * 当前流程实列的名
     */
    @Override
    String getName();

    /*
     * 当前流程实列的描述
     */
    @Override
    String getDescription();

    /*
     * 当前的历程实列的执行级别的变量，为局部变量
     */
    String getLocalizedName();

    /*
     *
     */
    String getLocalizedDescription();

}